#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <stdio.h>
#include "xja.h"

// 程序初始化的函数
void *proc_init(int n){
	// 设置随机种子
	srand(time(NULL));
	// 分配空间
	void *p = malloc(7 * sizeof(int) * n);
	if(NULL == p){
		printf("内存分配失败\n");
		return NULL;
	}
	// 对内存空间清0(非必要)
	memset(p, 0, 7 * sizeof(int) * n);
	// 将分配的空间的首地址返回给调用处
	return p;
}

// 获取双色球号码--一次获取所有号码
void get_double_ball_number(xja_t q, int groups){
	int i = 0;
	int j = 0;
	int k = 0;
	for(i = 0; i < groups; i++){ // 控制一共获取几组
		// 获取红球数据
		for(j = 0; j < 6;){
			q[i][j] = rand() % 33 + 1;
			// 检查是否和同组的前面数组重复
			for(k = 0; k < j; k++){
				if(q[i][k] == q[i][j]){
					break;	
				}
			}
			if(k == j){
				j++;
			}
		}
		// 获取蓝球的数据
		q[i][j] = rand() % 16 + 1;
	}
}

// 红球号码排序--只排一组
void red_ball_sort(int *p){
	int i = 0;
	int j = 0;
	int temp = 0;
	for(i = 0; i < 6-1; i++){
		for(j = 0; j < 6-1-i; j++){
			if(p[j] > p[j+1]){
				temp = p[j];
				p[j] = p[j+1];
				p[j+1] = temp;
			}
		}
	}
}

// 输出结果
void print_result(xja_t q, int groups){
	int i = 0;
	int j = 0;
	for(i = 0; i < groups; i++){
		// 输出红球号码
		for(j = 0; j < 6; j++){
			printf("%02d ", q[i][j]);
		}
		// 输出蓝球号码
		printf("+ %02d\n", q[i][j]);
	}
}

